package com.sh.data.engine.application.model.request.integration;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@Schema
@NoArgsConstructor
@AllArgsConstructor
public class CreateSyncTaskRequest {
    @Schema(description = "同步任务列表")
    private List<EngineSyncTask> tasks;

    @Schema(description = "项目id")
    private Long projectId;

    @Schema(description = "数据源id")
    private Long sourceDsId;

    @Schema(description = "数据源类型")
    private String sourceDsType;

    @Schema(description = "schema")
    private String schema;

    @Schema(description = "主题id")
    private Long themeId;

    @Data
    public static class EngineSyncTask {

        @Schema(description = "来源表")
        private String sourceTable;

        @Schema(description = "目标表")
        private String targetTable;

        @Schema(description = "目标表中文名")
        private String targetTableCN;
    }

}
